import './assets/main.scss'

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import { ref } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import { createPersistedState } from 'pinia-persistedstate-plugin'
import locale from 'element-plus/dist/locale/zh-cn.js'

const app = createApp(App)
const pinia = createPinia();
const persist = createPersistedState();
pinia.use(persist)
app.use(pinia)

// //获取权限集.........放到app.vue中去了
// import useRolesStore from './stores/useRoles'
// const RolesStore = useRolesStore()
// RolesStore.initialRoles();



import router from '@/router'
app.use(router)//注册路由

// // 设置路由守卫
// router.beforeEach((to, from, next) => {
//     // 由于路由守卫在这里设置，Pinia 已经被注册，因此可以安全地使用 store
//     const userInfoStore = useUserInfoStore();

//     // 假设 getUserRole 是一个异步函数，从后端获取用户角色
//     getUserRole().then((role) => {
//         userInfoStore.info.role = role; // 设置用户角色

//         // 检查路由元信息中的角色要求
//         if (to.meta.role && !to.meta.role.includes(userInfoStore.info.role)) {
//             // 如果用户角色不在允许访问的角色列表中，重定向到登录页面
//             next({ path: '/login' });
//         } else {
//             // 如果角色匹配或无角色限制，则允许访问
//             next();
//         }
//     });
// });





app.use(ElementPlus, { locale })
app.mount('#app')








